package cc.rengu.igas.momp.common.enums;

/**
 * 手续费优惠限额计算规则类型
 *
 * @author Jinan Liu
 * @version 1.0.0
 * @date 2020/6/10 02:32
 */

public enum FeeCalTypeEnum {

    /**
     * 无上限
     */
    TYPE_0("0000", "无上限"),
    /**
     * 指定具体数值
     */
    TYPE_1("0001", "指定具体数值"),
    /**
     * 上月日均存款万位取整+3万
     */
    TYPE_2("0002", "上月日均存款万位取整+3万"),
    /**
     * 上月日均存款*2+3万
     */
    TYPE_3("0003", "上月日均存款*2+3万"),
    /**
     * 上月日均存款万位取整+5万
     */
    TYPE_4("0004", "上月日均存款万位取整+5万"),
    /**
     * 上月日均存款*2+5万
     */
    TYPE_5("0005", "上月日均存款*2+5万"),
    /**
     * 上月日均存款每10万优惠125元
     */
    TYPE_6("0006", "上月日均存款每10万优惠125元"),
    /**
     * 上月日均存款每10万优惠500元
     */
    TYPE_7("0007", "上月日均存款每10万优惠500元"),
    /**
     * 上月日均存款
     */
    TYPE_8("0008", "上月日均存款"),
    /**
     * 上月日均存款每万元*2+3万
     */
    TYPE_9("0009", "上月日均存款每万元*2+3万"),
    /**
     * 上月日均存款每万元*2+5万
     */
    TYPE_10("0010", "上月日均存款每万元*2+5万"),
    /**
     * 上月日均存款每十万元*2+3万
     */
    TYPE_11("0011", "上月日均存款每十万元*2+3万"),
    /**
     * 上月日均存款每十万元*2+5万
     */
    TYPE_12("0012", "上月日均存款每十万元*2+5万"),
    /**
     * 指定优惠手续费金额具体数值
     */
    TYPE_13("0013", "指定优惠手续费金额具体数值"),
    ;

    private String ruleType;
    private String ruleDesc;

    FeeCalTypeEnum(String ruleType, String ruleDesc) {
        this.ruleType = ruleType;
        this.ruleDesc = ruleDesc;
    }

    public String getRuleType() {
        return ruleType;
    }

    public void setRuleType(String ruleType) {
        this.ruleType = ruleType;
    }

    public String getRuleDesc() {
        return ruleDesc;
    }

    public void setRuleDesc(String ruleDesc) {
        this.ruleDesc = ruleDesc;
    }

    /**
     * 判断输入项属于那种枚举值
     *
     * @param value 待判断的值
     * @return cc.rengu.igas.momp.common.enums.FeeCalTypeEnum 手续费优惠限额计算规则类型
     * @author Jinan Liu
     * @date 2020/6/10 02:37
     */
    public static FeeCalTypeEnum getByValue(String value) {
        for (FeeCalTypeEnum feeCalTypeEnum : values()) {
            if (feeCalTypeEnum.getRuleType().equals(value)) {
                return feeCalTypeEnum;
            }
        }
        return null;
    }
}
